package com.maxjay.component.simplelist.core;

import com.maxjay.component.simplelist.model.QueryScheme;

public interface QuerySchemeFatory {
	
	/**
	 * 取得查询方案，如果缓存中有则从缓存中获取否则重新加载
	 * 
	 * @param schemeId
	 * @return
	 */
	QueryScheme getQueryScheme(String schemeId);
	
	/**
	 * 重新加载指定的查询方案
	 * 
	 * @param schemeId
	 * @return
	 */
	QueryScheme loadQueryScheme(String schemeId);
	
	/**
	 * 查询方案是否已加载
	 * 
	 * @param schemeId
	 * @return
	 */
	boolean isLoadedEntity(String schemeId);
	
	/**
	 * 重新加载所有查询方案
	 */
	void reloadAll();

	/**
	 * 销毁工厂
	 */
	void destroy();
	
}
